<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <h1 data-lake-id="Pf7P3" id="Pf7P3"><span data-lake-id="u43022d88" id="u43022d88">典型回答</span></h1>
  <p data-lake-id="u02a2c6e2" id="u02a2c6e2"><br></p>
  <p data-lake-id="u88fe4633" id="u88fe4633"><span data-lake-id="u82367de7" id="u82367de7">数据库表的行格式决定了一行数据是如何进行物理存储的，进而影响查询和DML操作的性能。</span></p>
  <p data-lake-id="u52c51eba" id="u52c51eba"><span data-lake-id="u3593250d" id="u3593250d">​</span><br></p>
  <p data-lake-id="uea629cd3" id="uea629cd3"><span data-lake-id="uefffb8a6" id="uefffb8a6">在InnoDB中，常见的行格式有4种：</span></p>
  <p data-lake-id="u39df433d" id="u39df433d"><span data-lake-id="u0377ab9e" id="u0377ab9e">​</span><br></p>
  <ol list="uad4ef4ab">
   <li fid="ufbd62ab6" data-lake-id="ub58610c3" id="ub58610c3"><strong><span data-lake-id="u1dec0b5f" id="u1dec0b5f">COMPACT</span></strong><span data-lake-id="ucc4fd7ca" id="ucc4fd7ca"> ：是MySQL 5.0之前的默认格式，除了保存字段值外，还会利用空值列表保存null值，还会记录变长字段长度列表和记录头信息。</span></li>
  </ol>
  <p data-lake-id="udef093c6" id="udef093c6"><span data-lake-id="u8d26bfc6" id="u8d26bfc6">​</span><br></p>
  <p data-lake-id="ubb300de0" id="ubb300de0"><img src="https://cdn.nlark.com/yuque/0/2023/png/5378072/1691226687920-9b65a97a-4cc8-4f19-89d3-4cf8f099c059.png?x-oss-process=image%2Fwatermark%2Ctype_d3F5LW1pY3JvaGVp%2Csize_39%2Ctext_SmF2YSA4IEd1IFA%3D%2Ccolor_FFFFFF%2Cshadow_50%2Ct_80%2Cg_se%2Cx_10%2Cy_10"></p>
  <p data-lake-id="u9260df8e" id="u9260df8e"><br></p>
  <p data-lake-id="u1f1cf300" id="u1f1cf300"><span data-lake-id="u45d8daa6" id="u45d8daa6">COMPACT 适合处理大量包含可变长度列（如VARCHAR、VARBINARY、BLOB和TEXT类型）的数据。</span></p>
  <p data-lake-id="u51aa0aa0" id="u51aa0aa0"><span data-lake-id="uda9349b2" id="uda9349b2">​</span><br></p>
  <blockquote data-lake-id="ub1aab458" id="ub1aab458">
   <p data-lake-id="u964d3e96" id="u964d3e96"><span data-lake-id="u359bdd0d" id="u359bdd0d">对于可变长度列，前768字节的数据存储在B树节点的索引记录中，超出部分存储在溢出页中。大于或等于768字节的固定长度列会被编码为可变长度列，并可以存储在页外。</span></p>
  </blockquote>
  <p data-lake-id="u989185a1" id="u989185a1"><span data-lake-id="u05d95463" id="u05d95463">​</span><br></p>
  <ol list="uad4ef4ab" start="2">
   <li fid="ufbd62ab6" data-lake-id="u2e50f8ba" id="u2e50f8ba"><strong><span data-lake-id="u8fa7aeb2" id="u8fa7aeb2">REDUNDANT</span></strong><span data-lake-id="u4f2534f2" id="u4f2534f2"> ：Redundant 是 MySQL5.0 版本之前 InnoDB 的行记录存储方式，用的比较少，Redundant 行格式会把该条记录中所有列 (包括隐藏列) 的长度信息都存储到 '字段长度偏移列表' 中。</span></li>
  </ol>
  <p data-lake-id="uaf86bdd5" id="uaf86bdd5"><span data-lake-id="u7800d213" id="u7800d213">​</span><br></p>
  <p data-lake-id="uc4ff92d1" id="uc4ff92d1"><span data-lake-id="u162a0779" id="u162a0779">​</span><br></p>
  <p data-lake-id="u3527b333" id="u3527b333"><img src="https://cdn.nlark.com/yuque/0/2023/png/5378072/1691226921724-f2365ad2-beb2-458a-962d-b3d8ffc40a78.png?x-oss-process=image%2Fwatermark%2Ctype_d3F5LW1pY3JvaGVp%2Csize_38%2Ctext_SmF2YSA4IEd1IFA%3D%2Ccolor_FFFFFF%2Cshadow_50%2Ct_80%2Cg_se%2Cx_10%2Cy_10"></p>
  <p data-lake-id="udcdbdb12" id="udcdbdb12"><br></p>
  <p data-lake-id="u605f953a" id="u605f953a"><br></p>
  <ol list="uad4ef4ab" start="3">
   <li fid="ufbd62ab6" data-lake-id="ucc2b055c" id="ucc2b055c"><strong><span data-lake-id="u16836949" id="u16836949">DYNAMIC</span></strong><span data-lake-id="ufccf457b" id="ufccf457b">：DYNAMIC格式在MySQL 5.7版本引入，是COMPACT格式的改进版。它保持了COMPACT格式的优点，同时在存储大的可变长度列时更加灵活，能够动态地选择存储在页内或页外。DYNAMIC格式适用于大部分的应用场景，并在存储空间和性能上做了一定的平衡。其结构和COMPACT大致相同；</span></li>
  </ol>
  <p data-lake-id="u31459f25" id="u31459f25"><br></p>
  <ol list="uad4ef4ab" start="4">
   <li fid="ufbd62ab6" data-lake-id="ud638ca10" id="ud638ca10"><strong><span data-lake-id="udda046d3" id="udda046d3">COMPRESSED</span></strong><span data-lake-id="u5c7f3920" id="u5c7f3920">：是MySQL 5.1中InnoDB的新特性之一，它可以在存储数据时对数据进行压缩，从而减小磁盘占用空间。它的缺点是增加了CPU的使用，可能会降低一些查询的性能。COMPRESSED 行格式是在 DYNAMIC 行格式的基础上添加了页外压缩功能。在存储时，如果发现数据可以通过压缩减小存储空间，就会使用压缩方式来存储数据。在查询时，会自动解压缩数据并返回结果。</span></li>
  </ol>
  <p data-lake-id="u35217921" id="u35217921"><br></p>
  <ol list="uad4ef4ab" start="5">
   <li fid="ufbd62ab6" data-lake-id="uc8827a48" id="uc8827a48"><strong><span data-lake-id="uf4b9f7a2" id="uf4b9f7a2">BARRACUDA</span></strong><span data-lake-id="u83058a75" id="u83058a75">：是MySQL 5.7引入的一种新格式，相对于前面的格式，支持更多的高级特性，如动态行格式、行级压缩、空间管理等。</span></li>
  </ol>
  <p data-lake-id="uc40bb630" id="uc40bb630"><span data-lake-id="uc6659092" id="uc6659092">​</span><br></p>
  <p data-lake-id="ud819c08d" id="ud819c08d"><span data-lake-id="u4dd0ea64" id="u4dd0ea64">​</span><br></p>
  <table data-lake-id="iA1GO" id="iA1GO" margin="true" class="lake-table" style="width: 749px">
   <colgroup>
    <col width="107">
    <col width="107">
    <col width="107">
    <col width="107">
    <col width="107">
    <col width="107">
    <col width="107">
   </colgroup>
   <tbody>
    <tr data-lake-id="udc2c73e8" id="udc2c73e8">
     <td data-lake-id="u7fc72082" id="u7fc72082">
      <p data-lake-id="u962072b8" id="u962072b8" style="text-align: left"><strong><span data-lake-id="u6b714b13" id="u6b714b13" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">行格式</span></strong></p></td>
     <td data-lake-id="ub7731668" id="ub7731668">
      <p data-lake-id="ued4b6274" id="ued4b6274" style="text-align: left"><strong><span data-lake-id="ufa077b79" id="ufa077b79" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">紧凑的存储特性</span></strong></p></td>
     <td data-lake-id="u0b747c15" id="u0b747c15">
      <p data-lake-id="ufd5d0f3b" id="ufd5d0f3b" style="text-align: left"><strong><span data-lake-id="u7be73e3b" id="u7be73e3b" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">增强的可变长度列存储</span></strong></p></td>
     <td data-lake-id="u30e3f5c4" id="u30e3f5c4">
      <p data-lake-id="u401e5bab" id="u401e5bab" style="text-align: left"><strong><span data-lake-id="u6790c710" id="u6790c710" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">大索引键前缀支持</span></strong></p></td>
     <td data-lake-id="u0adad74d" id="u0adad74d">
      <p data-lake-id="u69256862" id="u69256862" style="text-align: left"><strong><span data-lake-id="ucc15c67f" id="ucc15c67f" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">压缩支持</span></strong></p></td>
     <td data-lake-id="u06f9e9d2" id="u06f9e9d2">
      <p data-lake-id="u9d652cb6" id="u9d652cb6" style="text-align: left"><strong><span data-lake-id="u8e37491d" id="u8e37491d" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">支持的表空间类型</span></strong></p></td>
     <td data-lake-id="u8d68c949" id="u8d68c949">
      <p data-lake-id="u26ad7ebd" id="u26ad7ebd" style="text-align: left"><strong><span data-lake-id="u58561043" id="u58561043" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">所需文件格式</span></strong></p></td>
    </tr>
    <tr data-lake-id="ub0fa8f3d" id="ub0fa8f3d">
     <td data-lake-id="u5612e5c0" id="u5612e5c0">
      <p data-lake-id="u103f11da" id="u103f11da" style="text-align: left"><span data-lake-id="u0159193d" id="u0159193d" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">REDUNDANT</span></p></td>
     <td data-lake-id="u9f46b0b4" id="u9f46b0b4">
      <p data-lake-id="ub93a0195" id="ub93a0195" style="text-align: left"><span data-lake-id="ua4e84123" id="ua4e84123" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">否</span></p></td>
     <td data-lake-id="u7ff3b456" id="u7ff3b456">
      <p data-lake-id="u006512ef" id="u006512ef" style="text-align: left"><span data-lake-id="u90c6d98d" id="u90c6d98d" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">否</span></p></td>
     <td data-lake-id="u14416bd6" id="u14416bd6">
      <p data-lake-id="u773454e7" id="u773454e7" style="text-align: left"><span data-lake-id="u4bea606c" id="u4bea606c" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">否</span></p></td>
     <td data-lake-id="u2410e644" id="u2410e644">
      <p data-lake-id="ufb26ce62" id="ufb26ce62" style="text-align: left"><span data-lake-id="u2ed01f1c" id="u2ed01f1c" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">否</span></p></td>
     <td data-lake-id="uaedeaeb1" id="uaedeaeb1">
      <p data-lake-id="u203e0a2b" id="u203e0a2b" style="text-align: left"><span data-lake-id="uff1217fa" id="uff1217fa" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">system, file-per-table, general</span></p></td>
     <td data-lake-id="u572f31fe" id="u572f31fe">
      <p data-lake-id="u9657b47f" id="u9657b47f" style="text-align: left"><span data-lake-id="uef7aaa79" id="uef7aaa79" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">Antelope or Barracuda</span></p></td>
    </tr>
    <tr data-lake-id="u3378bfc7" id="u3378bfc7">
     <td data-lake-id="uca1ca4d1" id="uca1ca4d1" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="u9114a34e" id="u9114a34e" style="text-align: left"><span data-lake-id="uc58e0d08" id="uc58e0d08" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">COMPACT</span></p></td>
     <td data-lake-id="ub07e1350" id="ub07e1350" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="u10f87370" id="u10f87370" style="text-align: left"><span data-lake-id="u1f294b73" id="u1f294b73" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">是</span></p></td>
     <td data-lake-id="ufe161fba" id="ufe161fba" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="ud2aaa66b" id="ud2aaa66b" style="text-align: left"><span data-lake-id="u07c2f68e" id="u07c2f68e" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">否</span></p></td>
     <td data-lake-id="u685a62bc" id="u685a62bc" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="u5ad368fd" id="u5ad368fd" style="text-align: left"><span data-lake-id="u1d9e0872" id="u1d9e0872" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">否</span></p></td>
     <td data-lake-id="u378f6134" id="u378f6134" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="u4b29fae3" id="u4b29fae3" style="text-align: left"><span data-lake-id="u337ea39f" id="u337ea39f" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">否</span></p></td>
     <td data-lake-id="u16024fba" id="u16024fba" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="u452734e3" id="u452734e3" style="text-align: left"><span data-lake-id="u12828e91" id="u12828e91" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">system, file-per-table, general</span></p></td>
     <td data-lake-id="uf85604f8" id="uf85604f8" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="u9c738c2e" id="u9c738c2e" style="text-align: left"><span data-lake-id="u17ed24c5" id="u17ed24c5" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">Antelope or Barracuda</span></p></td>
    </tr>
    <tr data-lake-id="u211a7321" id="u211a7321">
     <td data-lake-id="u2e079cf9" id="u2e079cf9">
      <p data-lake-id="u0322d1ab" id="u0322d1ab" style="text-align: left"><span data-lake-id="ub24ad32e" id="ub24ad32e" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">DYNAMIC</span></p></td>
     <td data-lake-id="ud149f5c5" id="ud149f5c5">
      <p data-lake-id="uef3808cd" id="uef3808cd" style="text-align: left"><span data-lake-id="u77d72c4f" id="u77d72c4f" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">是</span></p></td>
     <td data-lake-id="uc958919c" id="uc958919c">
      <p data-lake-id="u96e46f33" id="u96e46f33" style="text-align: left"><span data-lake-id="u3c6db6f4" id="u3c6db6f4" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">是</span></p></td>
     <td data-lake-id="u9091fd92" id="u9091fd92">
      <p data-lake-id="u53194b3d" id="u53194b3d" style="text-align: left"><span data-lake-id="u839b41b9" id="u839b41b9" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">是</span></p></td>
     <td data-lake-id="u0cfaeca2" id="u0cfaeca2">
      <p data-lake-id="u7c687460" id="u7c687460" style="text-align: left"><span data-lake-id="udf5e0b7f" id="udf5e0b7f" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">否</span></p></td>
     <td data-lake-id="u19ca2493" id="u19ca2493">
      <p data-lake-id="uf072dec9" id="uf072dec9" style="text-align: left"><span data-lake-id="u25219248" id="u25219248" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">system, file-per-table, general</span></p></td>
     <td data-lake-id="u91af303e" id="u91af303e">
      <p data-lake-id="ud50bf58e" id="ud50bf58e" style="text-align: left"><span data-lake-id="u8123d721" id="u8123d721" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">Barracuda</span></p></td>
    </tr>
    <tr data-lake-id="u658e76f5" id="u658e76f5">
     <td data-lake-id="uba0ba6f5" id="uba0ba6f5" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="u6e3311ea" id="u6e3311ea" style="text-align: left"><span data-lake-id="u79846c50" id="u79846c50" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">COMPRESSED</span></p></td>
     <td data-lake-id="u6cc68a71" id="u6cc68a71" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="u4fb429bc" id="u4fb429bc" style="text-align: left"><span data-lake-id="u150621e1" id="u150621e1" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">是</span></p></td>
     <td data-lake-id="u48ae8be0" id="u48ae8be0" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="ua45c2d1d" id="ua45c2d1d" style="text-align: left"><span data-lake-id="uca647434" id="uca647434" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">是</span></p></td>
     <td data-lake-id="uf49ccfc1" id="uf49ccfc1" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="u65d1874d" id="u65d1874d" style="text-align: left"><span data-lake-id="u99b385c6" id="u99b385c6" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">是</span></p></td>
     <td data-lake-id="u6dd93875" id="u6dd93875" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="uf56af469" id="uf56af469" style="text-align: left"><span data-lake-id="uaa09beae" id="uaa09beae" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">是</span></p></td>
     <td data-lake-id="ue3a7cffd" id="ue3a7cffd" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="u6141e43d" id="u6141e43d" style="text-align: left"><span data-lake-id="u8c85cb80" id="u8c85cb80" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">file-per-table, general</span></p></td>
     <td data-lake-id="u0af51488" id="u0af51488" style="background-color: rgb(246, 248, 250)">
      <p data-lake-id="uc1044997" id="uc1044997" style="text-align: left"><span data-lake-id="u4903324e" id="u4903324e" class="lake-fontsize-12" style="color: rgb(36, 41, 46)">Barracuda</span></p></td>
    </tr>
   </tbody>
  </table>
 </body>
</html>